package com.hyd.manage.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hyd.common.annotation.Excel;
import com.hyd.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 药品采购对象 tb_purchase
 *
 * @author hwb
 * @date 2025-02-19
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Purchase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID，自增 */
    private Long id;

    /** 采购人姓名 */
    @Excel(name = "采购人姓名")
    private String name;

    /** 采购编号，唯一标识一次采购 */
    @Excel(name = "采购编号，唯一标识一次采购")
    private String purchaseId;

    /** 药品ID，关联药品信息表 */
    @Excel(name = "药品ID，关联药品信息表")
    private Long medicineId;

    /** 药品名称 */
    @Excel(name = "药品名称")
    private String medicineName;

    /** 采购数量 */
    @Excel(name = "采购数量")
    private Long purchaseQuantity;

    /** 采购单价 */
    @Excel(name = "采购单价")
    private BigDecimal purchasePrice;

    /** 采购总金额 */
    @Excel(name = "采购总金额")
    private BigDecimal totalAmount;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 采购日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 预计到货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedArrivalDate;

    /** 实际到货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualArrivalDate;

    /** 采购审批状态 */
    @Excel(name = "采购审批状态")
    private String approvalStatus;

}
